#ifndef __INCLUDES_H__
#define __INCLUDES_H__

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdint.h>
#include "stm32f4xx.h"
#include "stm32f4xx_it.h"
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "beep.h"
#include "key.h"
#include "tim.h"
#include "tft.h"
#include "bmp.h"
#include "touch.h"  
#include "lvgl.h"
#include "lv_port_disp.h"
#include "lv_port_indev.h"
#include "lv_demo_widgets.h"

#include "ui.h"
#include "ui_helpers.h"

#include "FreeRTOS.h"
#include "task.h"
#include "semphr.h"
#include "event_groups.h"

#include "dht11.h"
#include "rtc.h"
#include "i2c.h"
#include  "algorithm.h"
#include "max30102.h"
#include "ble.h"
#include "esp8266.h"


//#include "lv_demo_benchmark.h"


extern GPIO_InitTypeDef  	GPIO_InitStructure;
extern NVIC_InitTypeDef 	NVIC_InitStructure;		
extern SPI_InitTypeDef  	SPI_InitStructure;

extern lv_disp_drv_t *g_disp_drvp;  

//����task��������
typedef struct __task_t
{
    TaskFunction_t pxTaskCode;            // ָ����������ָ�룬����ָ�������ִ�д���
    const char * const pcName;            // ָ�����������ַ�����ָ�룬���ڱ�ʶ����
    const configSTACK_DEPTH_TYPE usStackDepth;   // �����ջ����ȣ���ʾ��������Ķ�ջ�ռ��С
    void * const pvParameters;            // ָ�����������ָ�룬���ڴ��ݸ��������Ĳ���
    UBaseType_t uxPriority;               // ��������ȼ�����ʾ����ִ�е����ȼ�
    TaskHandle_t * const pxCreatedTask;   // ָ����������handle����ָ�룬���ڽ������񴴽���ľ��
} task_t;


extern uint32_t g_mpu6050_set;

#endif
